package com.abigdreamer.im.server.ui.desktop;

import java.util.ArrayList;
import java.util.List;

import com.abigdreamer.im.server.tools.ServerUtils;
import com.abigdreamer.im.server.ui.desktop.internal.DeskTopFrame;
import com.thoughtworks.xstream.XStream;

public class InitXml {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		write();

	}

	private static void read(){
		DeskTopConfig deskTopConfig=ServerUtils.getDeskTopConfig();
		System.out.println(deskTopConfig.getItemConfig(ConfigItem.class.getName()).getItemText());
	}
	private static void write(){
		DeskTopConfig deskTopConfig=getDeskTopConfig();
		ServerUtils.writeDeskTopConfig(deskTopConfig);
	}
	
	private static void init(){
		XStream xstream = new XStream();
		xstream.alias("deskTop", DeskTopConfig.class);
		xstream.alias("itemConfig", ItemConfig.class);
		xstream.alias("deskFrameConfig", DeskFrameConfig.class);
		xstream.addImplicitCollection(DeskTopConfig.class, "itemList");
		xstream.useAttributeFor( DeskFrameConfig.class,"deskFrameClass");
		DeskTopConfig deskTopConfig=getDeskTopConfig();
		ServerUtils.writeDeskTopConfig(deskTopConfig);
		String xml=xstream.toXML(deskTopConfig);
		System.out.println(xml);
		DeskTopConfig deskTopConfig2=(DeskTopConfig) xstream.fromXML(xml);
		System.out.println(deskTopConfig2.getItemRightExcursion());
	}
	public static DeskTopConfig getDeskTopConfig(){
	     DeskTopConfig deskTopConfig=new DeskTopConfig();
		
		List<ItemConfig> itemList =new ArrayList<ItemConfig>();
		
	
		
		ItemConfig configItemConfig=new ItemConfig();
		configItemConfig.setItemClass(ConfigItem.class.getName());
		configItemConfig.setItemIconPath("config.png");
		configItemConfig.setItemText("服务配置");
		configItemConfig.setItemToolTipText("打开可以配置的相关信息");
		DeskFrameConfig FrameConfig=new DeskFrameConfig();
		FrameConfig.setDeskFrameClass(DeskTopFrame.class.getName());
		configItemConfig.setFrameConfig(FrameConfig);
		itemList.add(configItemConfig);
		
		ItemConfig databaseItemConfig=new ItemConfig();
		databaseItemConfig.setItemClass(DataBaseItem.class.getName());
		databaseItemConfig.setItemIconPath("Database.png");
		databaseItemConfig.setItemText("数据库");
		databaseItemConfig.setItemToolTipText("打开数据库可以查看数据库的相关信息");
		DeskFrameConfig FrameConfig2=new DeskFrameConfig();
		FrameConfig2.setDeskFrameClass(DeskTopFrame.class.getName());
		databaseItemConfig.setFrameConfig(FrameConfig2);
		itemList.add(databaseItemConfig);
		
		
		ItemConfig ieItemConfig=new ItemConfig();
		ieItemConfig.setItemClass(IEItem.class.getName());
		ieItemConfig.setItemIconPath("ie.png");
		ieItemConfig.setItemText("浏览器");
		ieItemConfig.setItemToolTipText("浏览器");
		DeskFrameConfig FrameConfig3=new DeskFrameConfig();
		FrameConfig3.setDeskFrameClass(DeskTopFrame.class.getName());
		ieItemConfig.setFrameConfig(FrameConfig3);
		itemList.add(ieItemConfig);
		
		ItemConfig LoggerItemConfig=new ItemConfig();
		LoggerItemConfig.setItemClass(LoggerItem.class.getName());
		LoggerItemConfig.setItemIconPath("logger.png");
		LoggerItemConfig.setItemText("日志信息");
		LoggerItemConfig.setItemToolTipText("打开可以查看日志信息的相关信息");
		DeskFrameConfig FrameConfig4=new DeskFrameConfig();
		FrameConfig4.setDeskFrameClass(DeskTopFrame.class.getName());
		LoggerItemConfig.setFrameConfig(FrameConfig4);
		itemList.add(LoggerItemConfig);
		
		
		ItemConfig MyComputerItemConfig=new ItemConfig();
		MyComputerItemConfig.setItemClass(MyComputerItem.class.getName());
		MyComputerItemConfig.setItemIconPath("computer.png");
		MyComputerItemConfig.setItemText("Java虚拟机");
		MyComputerItemConfig.setItemToolTipText("打开可以查看本Java虚拟机的相关信息");
		DeskFrameConfig FrameConfig5=new DeskFrameConfig();
		FrameConfig5.setDeskFrameClass(DeskTopFrame.class.getName());
		MyComputerItemConfig.setFrameConfig(FrameConfig5);
		itemList.add(MyComputerItemConfig);
		
		
		ItemConfig MyServerItemConfig=new ItemConfig();
		MyServerItemConfig.setItemClass(MyServerItem.class.getName());
		MyServerItemConfig.setItemIconPath("server.png");
		MyServerItemConfig.setItemText("我的服务器");
		MyServerItemConfig.setItemToolTipText("打开我的服务器可以查看服务器的相关信息");
		DeskFrameConfig FrameConfig6=new DeskFrameConfig();
		FrameConfig6.setDeskFrameClass(DeskTopFrame.class.getName());
		MyServerItemConfig.setFrameConfig(FrameConfig6);
		itemList.add(MyServerItemConfig);
		
		deskTopConfig.setItemList(itemList);
		return deskTopConfig;
	}
}
